The peer-to-peer (P2P) application is one of the most important applications, which provides file sharing, storage and communication services over the network. In general, there are three main types of P2P networks: unstructured P2P, hybrid P2P and structured P2P. Furthermore, the structured P2P network is most popular one due to its outstanding performance of data discovery.
In the typical structured P2P network system, each data object is mapped to and stored in a specific peer with a unique identity (ID). Structured P2P network could result in an O(log N) imbalance factor in some objects stored in a target peer, when implemented by using a lookup procedure method for finding target peer. Some hotspots (i.e., heavy loading peers) in the network may cause network congestion, low routing performance and insufficient search hit rate. For example, when stored keywords are popular, the target peer handles large amount of indexes. It may cause unbalanced loads between peers. Moreover, the search hit rate decreases dramatically when hotspots become offline.
One of the most popular structured P2P network, namely Kademlia (KAD) structured P2P network, has its own load balancing strategy. The conventional KAD structured P2P network limits the number of indexes in each peer to avoid overloading. A peer can handle a maximum of 60,000 indexes and hold a maximum of 50,000 indexes of an individual keyword. Therefore, when a peer receives a publishing request while reaching the limit of maximum indexes, it will reply a successful message, even if the publishing request is rejected.
Therefore, there is a need for an approach to provide, a new scheme and load balancing method that can adapt to the loading conditions of a structured P2P network and operate within existing protocols.